Ziskani ikony nevytvoreneho formulare

Otázka od: Martin Burle

29. 11. 2002 18:34

Ahoj,

v aplikaci nahravam dynamicky balicky s formulari. Pri natazeni v vytvarim v
actionlistu na hlavnim formu polozku pro otevreni formu z nahraneho balicku,
vcetne ikony. Ikonu ziskavam z nahravaneho formulare. Neumim ale ikonu
ziskat jinak, nez ze form vytvorim, vytahnu ikonu a zase form uvolnim. Na
create formulare (a jeho predka) mam ale leccos povesene, takze se mi to
takto nelibi, navic to pri vetsim poctu formu asi bude pomale. Privitam
kazdou radu, jak vytahnout z balicku ikonu bez vytvoreni formulare, nebo
nakopnuti k lepsimu reseni  

diky,

Martin Burle

Odpovedá: Petr Vones

29. 11. 2002 18:50

From: "Martin Burle" <mburle2@volny.cz>
> v aplikaci nahravam dynamicky balicky s formulari. Pri natazeni v vytvarim v
> actionlistu na hlavnim formu polozku pro otevreni formu z nahraneho balicku,
> vcetne ikony. Ikonu ziskavam z nahravaneho formulare. Neumim ale ikonu
> ziskat jinak, nez ze form vytvorim, vytahnu ikonu a zase form uvolnim. Na
> create formulare (a jeho predka) mam ale leccos povesene, takze se mi to
> takto nelibi, navic to pri vetsim poctu formu asi bude pomale. Privitam
> kazdou radu, jak vytahnout z balicku ikonu bez vytvoreni formulare, nebo
> nakopnuti k lepsimu reseni  

Uloz tu ikonu jako resource do daneho balicku a pak ji pomoci TResourceStream
a TIcon.LoadFromStream natahni z balicku, podobne jako z jakekoli jine DLL.

Petr Vones

Odpovedá: Martin Burle

29. 11. 2002 23:56

> Uloz tu ikonu jako resource do daneho balicku a pak ji pomoci
TResourceStream
> a TIcon.LoadFromStream natahni z balicku, podobne jako z jakekoli jine
DLL.

Diky, tomu bych rozumel. Jenom se mi nejak nedari vlozit ikonu do balicku;
nemam s tim zadne zkusenosti. Zkusil jsem mimo jine ImageEditorem vlozit
ikonu do jmeno_balicku.res, to asi nebude spravna cesta (dival jsem se do
bpl hackerem a ikona nikde). Kudy na to?
Dari se mi zatim vytahnout jedine jakousi defaultni ikonu, takto:

 ic:=TIcon.Create;
 try
  res:=TResourceStream.Create(FModuleInstance,IcoName,RT_ICON);
  Ic.LoadFromStream(res);
 except
  ShowMessage('Balicek neobsahuje hledanou ikonu');
 end;

Je to tak spravne?

Diky za pripadne dalsi rady  

Martin Burle